The present invention relates generally to the field of “job” (see Definition in Definitions sub-section, below) allocation over a set of “processor-based computing resources” (see Definition in Definitions sub-section, below), and more particularly to job allocation where performance of the jobs requires and/or produces energy (for example, electrical energy, thermal energy).
Some conventional supercomputers are built up from a single fundamental computing resource unit, called the compute card (sometimes herein referred to as compute-card-based supercomputers). In some conventional compute-card-based supercomputers, compute nodes are packaged two per compute card, with 16 compute cards plus up to 2 I/O (input/output) nodes per node board.
In some compute-card-based supercomputers, compute cards are then grouped together, 32 per node board to form midplanes, with each midplane having 16 node boards. Two midplanes a rack provide 1024 compute cards with a total of 16384 cores. Most supercomputers support compute jobs of varying sizes (number of compute nodes) and varying duration. This often results in “fragmentation in the processor-based computing resources” over time. “Fragmentation in the processor-based computing resources” means a job becomes sub-divided into smaller and smaller “job fragments” (see definition, below), which generally are intermingled throughout the set of processor-based computing resources with job fragments from other jobs.